A compressed video transcoder decodes a compressed video bit stream and subsequently re-encodes the decoded bit stream. Video transcoders are therefore particularly useful in video servers and other applications in which a particular compressed video bit stream must be delivered using different bit rates, resolutions or formats depending on factors such as network congestion, decoder capability or requests from end users. A number of non-transcoder techniques can also provide these features. For example, a video server could store multiple copies of the same video sequence encoded at different bit rates, resolutions or formats. However, such an approach requires large amounts of disk storage space and only provides a limited number of discrete selections. Another non-transcoder technique involves storing a video sequence in a compressed "scalable" form. However, this technique also provides only a limited number of selections, and requires more complex encoders at the video server. Transcoding techniques are generally superior to these and other non-transcoder techniques in that a very large number of bit rate, resolution and format selections can be accommodated using conventional encoders and decoders. A transcoder-based video server may store an encoded video sequence using a given bit rate, resolution and format. When the stored stream has to be subsequently delivered at a different bit rate, resolution or format, the video server retrieves the stored stream and applies it to a transcoder.
FIG. 1 shows an exemplary transcoder 10 which includes a video decoder 12 and a video encoder 14. The video decoder 12 receives a high bit rate compressed video bit stream on an input 16, decodes the high bit rate stream to produce a frame sequence of decoded video pixels, and supplies the decoded video via line 18 to the video encoder 14. The encoder 14 re-encodes the decoded frame sequence using a lower bit rate and resolution, and produces a low bit rate compressed video bit stream at output 20. Although this transcoding approach has the advantage of flexibility in terms of the number of different bit rates, resolutions and formats which can be simultaneously supported, the conventional transcoder 10 is relatively complex and expensive in that it requires both a complete decoder 12 and a complete encoder 14. For example, a transcoder 10 suitable for use in MPEG-2 transcoding applications generally must include encoder reorder buffers for holding bidirectionally-predicted (B) frames until the forward-only predictive (P) or intra-coded (I) frames that precede the B frames in the frame sequence supplied from the decoder are encoded. This is because the decoder supplies the frames in an order suitable for presentation, rather than in an order suitable for direct encoding. The B frames are stored in an uncompressed form which generally requires substantial amounts of memory.
FIG. 2 illustrates a sequence of MPEG-2 frames which may be applied to the encoder 14 in transcoder 10. The frame sequence shown includes a single group of pictures (GOP) of size 12. The picture type is noted under each frame of the GOP. It can be seen that the GOP begins and ends with an I frame, and includes both B and P frames. The arrows indicate the frames needed to decode or encode the first two B frames in the presentation order. The first and second B frames are each encoded using both the first I frame and the first P frame. The decoder 1 2 of FIG. 1 arranges the GOP in the presentation order shown in FIG. 2. The above-noted reorder buffers of encoder 14 are used to hold the first and second B frames until the first P frame required to encode these B frames is received from the decoder 12. This unduly increases the memory requirements of the conventional transcoder 10. The encoder 14 of transcoder 10 also generally must convert fields to frames and perform other encoding operations such as repeat field detection, motion estimation, and rate control based solely on the decoded video pixels. These encoder requirements further increase the cost and complexity of the transcoder.
As is apparent from the above, there is a need for a compressed video transcoder which can provide the flexibility advantages of a conventional transcoder but without the cost and complexity associated with a complete encoder and decoder.